//
//  HomeViewController.swift
//  武汉微博
//
//  Created by 谌桃 on 16/9/20.
//  Copyright © 2016年 ryan.chen. All rights reserved.
//

import UIKit

//微博首页 可重用标识
let reuseIdentifier:String = "reuseIdentifier"

class HomeViewController: RootViewController {

    override func viewDidLoad() {
        
        //子类的属性先 创建完成 再调用父类的方法
        setUPRefreshContol()
        
        super.viewDidLoad()
        
        visitorView?.setupInfo(message: "关注一些人，回来看看这里有什么惊喜")
    }

    override func loadData() {
       
        //下拉刷新默认索引
        let defaultIndex = 100
        //上拉刷新默认索引
        let isPullUp = pullUpControl.isAnimating()
        
        if !isPullUp{
        
            //只会显示菊花，不会触发方法
            refreshControl.beginRefreshing()
        }
        
        //模拟一次网络数据加载
        dispatch_async(dispatch_get_global_queue(0, 0)) { () -> Void in
            
            NSThread.sleepForTimeInterval(3.0)
            
            //上拉刷新，获取数组最后一条数据
            let pullUPIndex = self.dataList.last ?? 0
            
            //下拉刷新索引，获取数组第一条数据
            let pullDownIndex = self.dataList.first ?? defaultIndex
            
            var arrM = [Int]()
            if isPullUp{
                for i in 0..<10{
                    arrM.append(pullUPIndex - i - 1)
                }
                //上拉刷新要插入到现有 dataList的后面
                self.dataList = self.dataList + arrM
            
            }else{
                for i in (0..<10).reverse(){
                    arrM.append(i + pullDownIndex + 1)
                }
                //下拉刷新要插入到现有的dataList的前面
                self.dataList = arrM + self.dataList
            }
           
            
            //更新UI
            dispatch_async(dispatch_get_main_queue()) { () -> Void in
                
                //关闭下拉刷新
                self.refreshControl.endRefreshing()
                
                //关闭上拉刷新
                self.pullUpControl.stopAnimating()
                
                //reloadData
                self.tableView.reloadData()
            }
        }
    }
    //懒加载
    private lazy var dataList = [Int]()
}

//首页的数据源
extension HomeViewController{

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return dataList.count;
    }
    
    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        
        let cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier:reuseIdentifier)
        
        cell.textLabel?.text = dataList[indexPath.row].description
        
        return cell
    }
}